9.4.- Fototransistor IR
El fototransistor de IR BPW96 (LOG732) que anem a utilitzar és un transistor on aparentment hi ha sols dues potetes ja que la tercera pota s'ha substituït per un sensor sensible al IR connectat a internament a la base. Com que es sensible al IR però la llum visible blanca l'afecta, utilitzarem també un LED d'infrarojos TSUS5400 (LOG721) per emetre llum en l'espectre IR i comprovar si tallen el feix de llum o no el tallen.
1. L'esquema que muntarem serà:
2. Esquema del detector de presència IR amb l'arduino.
En el nostre cas posarem un fil a 5V, l'altre a massa (GND) i l'eixida analògica la posaren al port cero. El colector (pota curta) del fototransistor de IR BPW96 el posem a +5V, i el emisor a massa (GND). Protegim el fototransistor d'IR amb una resistència de 10 Kilo Ohms. L'anode (pota llarga) del diode d'IR TSUS 5400 el posem a +5V i el catode a massa (GND). Protegim el diode IR amb una resistència de 330 Ohms.
AVÍS: Altres fabricants poden tindre models de fototransistors d'IR i leds d'IR on el color de la carcassa no és el mateix que el veus ací.
En aquest cas et caldrà mirar quines connexions tenen els teus models i quines resistències cal afegir.
3. Programa.
// Copyright (C) 2011 Carles Ferrando
// This program is free software; you can redistribute it and/or modify it under the terms
// of the GNU General Public License as published by the Free Software Foundation;
// See the GNU General Public License for more details
// ( http://www.gnu.org/licenses/gpl.html )
//
// Deteccio de IR
// En aquest programa llegirem el valor d'un Fototransistor de IR que rep la senyal
// d'un led emisor de IR
//
int FTIR = 0; // selecciona el pin d'entrada per al sensor de llum
int valFTIR = 0; // variable per emmagatzemar el valor capturat des del FTIR
void setup() {
Serial.begin(9600); // Inicialitza el monitor serie per enviar-hi dades
pinMode(FTIR, INPUT); // declara el FotoTransistor IR com entrada
}
void loop() { // Aquest és el començament d'un cicle infinit
valFTIR = analogRead(FTIR); // llegeix i asigna a "valFTIR" un valor entre 0 i 1033
delay(200);
if(analogRead(FTIR)>32){ //Si el valor llegit es major que 32 s'executen es instrucions de baix
Serial.print("Feix de llum IR tallat doncs lectura IR="); //Imprimeix el retol
Serial.println(valFTIR); //Imprimeix la dada val i retorna final de línia
}
Serial.print("Feix de llum IR NO tallat doncs lectura IR="); //Imprimeix el retol
Serial.println(valFTIR); //Imprimeix la dada val i retorna final de linia
} //Aquest és el final del cicle
|
4. Botó del monitor sèrie.
Si has programat utilitzar el monitor sèrie no oblides premer el botó per mostrar-lo.
Si talles el feix de llum Infraroja amb un cartró o amb un cdrom veuràs quelcom semblant a açò.
Ací tens una foto del muntatge fet amb l'Arduino i una placa Protoboard.
5. Utilitat.
Amb un muntatge derivat d'aquest pots detectar la presència d'objectes en automatismes, construir un comptador de velocitat de gir de motor, o un comptador de distancies recorregudes amb una bicicleta, o un detector de línia d'un robot seguidor de línies.
Llicenciat sota la Llicència Creative Commons Reconeixement NoComercial CompartirIgual 3.0